package com.adams.sys.parameter.dao;

import java.io.Serializable;
import java.util.List;

import com.adams.access.db.bean.Parameter;
import com.adams.utils.Page;

/**
 * 
 * 
 * File Name : ParameterDao.java
 * 
 * @Description : 参数数据操作类,提供参数的增、删、改和查功能
 * @author 902990封文进
 */
public interface ParameterDao
{

	/**
	 * 
	 * Description : 添加参数
	 * 
	 * @param parameter
	 * 
	 */
	public void save(Parameter parameter);

	/**
	 * 
	 * Description : 更新参数
	 * 
	 * @param parameter
	 * 
	 */
	public void update(Parameter parameter);

	/**
	 * 
	 * Description : 删除参数
	 * 
	 * @param parameter
	 * 
	 */
	public void delete(Parameter parameter);

	/**
	 * 
	 * Description : 根据编号查询参数
	 * 
	 * @param id
	 * @return Parameter
	 * 
	 */
	public Parameter get(Serializable id);

	/**
	 * 
	 * Description : 根据参数码查询参数
	 * 
	 * @param name
	 * @return List<Parameter>
	 * 
	 */
	public List<Parameter> queryByName(String name);

	/**
	 * 
	 * Description : 根据参数类型和参数名称查询参数
	 * 
	 * @param type
	 * @param name
	 * @return Parameter
	 * 
	 */
	public Parameter queryByTypeAndName(String type, String name);

	/**
	 * 
	 * Description : 根据分页查询所有参数
	 * 
	 * @param page
	 * @return Page<Parameter>
	 * 
	 */
	public Page<Parameter> queryAllByPage(Page<Parameter> page);

}
